package com.wlz.utils;

import com.alibaba.fastjson.JSON;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.GetObjectRequest;
import com.aliyun.oss.model.ObjectMetadata;
import com.sun.source.doctree.TextTree;
import lombok.extern.slf4j.Slf4j;

import java.io.File;
import java.nio.file.Path;

/**
 * @author wlz
 * @date 2022-10-08  4:50 下午
 */

@Slf4j
public class  OssUtils{

    public static void main(String[] args) throws Exception{

        for (int i = 0; i < 20; i++) {
            String pathName = "VBU_002_FG9807631004_A01_SV0602_EX045AS001"  + i  + ".zip";
//            new Thread(() -> {
                test("/Users/wlz/Desktop/intest/" + pathName);
//            }).start();
        }

//        File file = new File("/Users/wlz/Desktop/intest/VBU_002_FG9807631004_A01_SV0602_EX045AS001" + 0 + ".zip");
//        boolean newFile = file.createNewFile();
    }

    static void test(String path) {
        // Endpoint以华东1（杭州）为例，其它Region请按实际情况填写。
        String endpoint = "https://oss-cn-shanghai.aliyuncs.com";
        // 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
        String accessKeyId = "LTAI5tFa6JVJzC1g7o3VXhyQ";
        String accessKeySecret = "LI3XB6ECgICiw0NKo5l4h6hz1Mq041";
        // 填写Bucket名称，例如examplebucket。
        String bucketName = "newrizon-fota";
        // 填写不包含Bucket名称在内的Object完整路径，例如testfolder/exampleobject.txt。
        String objectName = "EcuOriginalPackage/8a1a62db-da25-41f6-9b68-bfd3a180d0ad/2022/09/22/VBU_002_FG9807631004_A01_SV0602_EX045AS001.zip";
        String pathName = path;

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        try {
            // 下载Object到本地文件，并保存到指定的本地路径中。如果指定的本地文件存在会覆盖，不存在则新建。
            // 如果未指定本地路径，则下载后的文件默认保存到示例程序所属项目对应本地路径中。
            ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File(pathName));

            ossClient.shutdown();
        }catch (Exception  e) {
            e.printStackTrace();
        }
//        finally {
//            if (ossClient != null) {
//                ossClient.shutdown();
//            }
//        }
    }
}

